﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HuiZe.education.Model
{
    public class PlanLessonModel : ModelBase
    {

    }
    public class TreeModel : ModelBase
    {
        public int NodeID { get; set; }
        public int ParentID { get; set; }
        public string NodeName { get; set; }
        //public List<TreeModel> ChildNodes { get; set; }

        ObservableCollection<TreeModel> _children;
        public ObservableCollection<TreeModel> ChildNodes
        {
            get { return _children; }
            set
            {
                _children = value;
                OnPropertyChanged("ChildNodes");
            }
        }

        public TreeModel()
        {
            _children = new ObservableCollection<TreeModel>();
        }
    }
    public class BkModel : ModelBase
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }


    public class ShareDestination
    {
        public int Id { get; set; }
        public string Destination { get; set; }
    }


    public class ReqBkClassModel
    {

        public string token { get; set; }
    }
    public class ReqcloudrRoomModel
    {

        public string token { get; set; }
        public int cid { get; set; }
        public int limit { get; set; }
        public int page { get; set; }
    }

    public class ReqBkQutoModel
    {

        public string token { get; set; }
        public int id { get; set; }

    }
    public class ReqAddShareModel
    {

        public string token { get; set; }
        public int id { get; set; }
        public int type { get; set; }
    }



    public class ReqShareListModel
    {

        public string token { get; set; }
        public int limit { get; set; }

        public int page { get; set; }

        public string search { get; set; }
        public int type { get; set; }
        public int user { get; set; }
    }



    public class ReqdelbackModel
    {
        public string ids { get; set; }
        public string token { get; set; }
    }
    public class ReqBkClassDetailModel
    {

        public string token { get; set; }
        public string bid { get; set; }
    }
    public class ReqendattendclassModel
    {

        public string token { get; set; }
        public int log_id { get; set; }
    }
    public class ReqendattendclassRandomModel
    {

        public string token { get; set; }
        public int log_id { get; set; }
        public int grades_id { get; set; }

    }
    public class ReqclassRandomResultModel
    {

        public string token { get; set; }
        public int log_id { get; set; }
        public int stulog_id { get; set; }

    }
    public class ReqStuListModel
    {

        public string token { get; set; }
        public int log_id { get; set; }
        public int grades_id { get; set; }

    }
    public class ReqEditStuLog
    {

        public string token { get; set; }
        public int student_id { get; set; }
        public int status { get; set; }

        public int log_id { get; set; }

    }

    public class ReqUpResourceModel
    {

        public string token { get; set; }
        public int id { get; set; }
    }

    public class ReqMyBkResourceModel
    {

        public string token { get; set; }
        public string search { get; set; }

        public string order_type { get; set; }

        public int limit { get; set; }

        public int page { get; set; }
    }

    public class CheckResourceModel
    {
        public string token { get; set; }
        public int kind_item_chapter_id { get; set; }
        public int id { get; set; }
    }

    public class ReqEditBkClassModel
    {

        public string token { get; set; }
        public int id { get; set; }
        public string class_ids { get; set; }
        public string title { get; set; }
        public string attachment_ids { get; set; }
    }

    public class GroupModel : ModelBase
    {
        public int Id { get; set; }
        public string GroupName { get; set; }
    }

    public class ReqGroupModel
    {
        public int code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }
        public ReqGroupMainModel data { get; set; }
    }

    public class ReqGroupMainModel
    {
        public string id { get; set; }
        public string attachment_id { get; set; }

        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<ReqGroupDetailModel> list { get; set; }
    }

    public class ReqGroupMainModel2
    {
        public string room_use { get; set; }
        public int room_total { get; set; }

        public ReqGroupMainModel3 list { get; set; }
    }

    public class ReqGroupMainModel3
    {
        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<ReqGroupDetailModel> data { get; set; }
    }
    public class ReqGroupDetailModel
    {
        public int id { get; set; }
        public int user_id { get; set; }
        public string name { get; set; }
        public int createtime { get; set; }
        public int deletetime { get; set; }
        public int weigh { get; set; }
        public int group_id { get; set; }
    }


    public class ReqAddGroupModel : ModelBase
    {
        public string token { get; set; }
        public string name { get; set; }

    }

    public class ReqDelGroupModel : ModelBase
    {
        public int id { get; set; }
        public string token { get; set; }

    }

    public class ReqDelFileModel : ModelBase
    {
        public string token { get; set; }
        public int id { get; set; }
        
    }

    public class ReqAlterGroupModel : ModelBase
    {
        public string token { get; set; }
        public string name { get; set; }
        public int id { get; set; }

    }

    public class ReqEditFileGroupModel : ModelBase
    {
        public string token { get; set; }
        public int group_id { get; set; }
        public int id { get; set; }

    }

    public class ReqGroupUploadFileModel : ModelBase
    {
        public string token { get; set; }
        public int group_id { get; set; }
        public string file_size { get; set; }

        public string ext_name { get; set; }

        public string file { get; set; }

        public string file_name { get; set; }

    }

    public class ReqGroupSpaceUseModel : ModelBase
    {
        public string token { get; set; }


    }

    public class ReqGroupSpaceFileModel : ModelBase
    {
        public string token { get; set; }
        public string search { get; set; }
        public int group_id { get; set; }
        public int page { get; set; }
        public int limit { get; set; }

    }

    public class ReqGroupUserUploadModel : ModelBase
    {
        public string token { get; set; }

        public string file_size { get; set; }

        public string ext_name { get; set; }

        public string file { get; set; }

        public string file_name { get; set; }

    }
    public class ReqGroupUserUploadModel2 : ModelBase
    {
        public string token { get; set; }
        public int group_id { get; set; }
        public string attachment_id { get; set; }


    }

    public class uploadJieyazip : ModelBase
    {
        public string token { get; set; }
        public string path { get; set; }
    }


    public class ReqGroupUseMainModel
    {
        public int code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }

        public ReqGroupUseDetailModel data { get; set; }

    }
    public class ReqGroupUseDetailModel
    {
        public int all { get; set; }
        public string use { get; set; }


    }

    public class ReqGroupFileListModel
    {
        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<ReqGroupFileListDetialModel> data { get; set; }


    }
    public class ReqGroupFileListDetialModel
    {
        public int id { get; set; }
        public int user_id { get; set; }
        public int group_id { get; set; }
        public string file { get; set; }
        public int createtime { get; set; }
        public string file_size { get; set; }
        public string ext_name { get; set; }
        public string file_name { get; set; }
    }

    public class ResBkClassModel : ModelBase
    {
        public int class_id { get; set; }
        public string grade_text { get; set; }

    }
    public class ResBkClassDetailModel : ModelBase
    {
        public int id { get; set; }
        public int bid { get; set; }
        public int user_id { get; set; }
        public string bname { get; set; }
        public string file { get; set; }
        public string image_cover { get; set; }

        public int attachment_id { get; set; }
        public int resources_id { get; set; }
        public string type { get; set; }
        public string weigh { get; set; }

    }

    public class ResBkBeginClassMainModel : ModelBase
    {

        public ResBkBeginClassDetailModel bclass { get; set; }
        public List<ResBkBeginClassResListModel> resource_list { get; set; }
    }
    public class ResBkBeginClassDetailModel
    {
        public int id { get; set; }
        public string title { get; set; }
        public string class_ids { get; set; }
        public string class_name_text { get; set; }
        public int user_id { get; set; }
        public string attachment_ids { get; set; }

        public int weigh { get; set; }
        public int number { get; set; }
        public int class_sort { get; set; }
        public string cover_image { get; set; }
        public string zippath { get; set; }

        public string y_id { get; set; }
        public string pathjson { get; set; }
        public string createtime_text { get; set; }
    }

    public class ResBkBeginClassResListModel : ModelBase
    {
        public int id { get; set; }
        public int bid { get; set; }
        public int user_id { get; set; }
        public string bname { get; set; }
        public string file { get; set; }
        public string extname { get; set; }
        public string image_cover { get; set; }
        public string attachment_ids { get; set; }
        
        public int attachment_id { get; set; }
        public string att_type { get; set; }
        public string resources_id { get; set; }
        public string zippath { get; set; }

        public string type { get; set; }
        public int weigh { get; set; }
        public string lyric { get; set; }
        public string rotation_img { get; set; }
        public string[] rotation_img_text { get; set; }
        public string lyric_text { get; set; }
    }

    public class ResMyBkResourceModel : ModelBase
    {
        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<ResMyBkResourceDetailItemModel> data { get; set; }


    }
    public class ResMyBkResourceDetailModel
    {
        public int id { get; set; }
        public string title { get; set; }
        public string class_ids { get; set; }
        public int createtime { get; set; }
        public int updatetime { get; set; }
        public string type { get; set; }
        public int user_id { get; set; }
        public string createtime_text { get; set; }
        public List<ResMyBkResourceDetailItemModel> class_list { get; set; }


    }
    //public class ResMyBkResourceDetailItemModel 
    //{
    //    public int id { get; set; }
    //    public string name { get; set; }
    //    public string level { get; set; }
    //    public int pid { get; set; }
    //    public string status { get; set; }
    //    public int weigh { get; set; }
    //    public int createtime { get; set; }
    //    public string use_name  { get; set; }
    //    public string cover_image { get; set; }


    //}

    public class ResMyBkResourceDetailItemModel
    {
        public int id { get; set; }
        public string title { get; set; }
        public string class_ids { get; set; }
        public string class_name_text { get; set; }
        public int user_id { get; set; }
        public string attachment_ids { get; set; }
        public int weigh { get; set; }
        public int number { get; set; }
        public int class_sort { get; set; }
        public string cover_image { get; set; }
        public string zippath { get; set; }
        public int y_id { get; set; }
        public string createtime_text { get; set; }
        public int count_class { get; set; }

        public string cat_name { get; set; }
        public string dir_name { get; set; }
    }

    public class ResUpResourceModel : ModelBase
    {



    }
    public class ResStartResourceModel : ModelBase
    {
        public int id { get; set; }
        public int bid { get; set; }
        public int user_id { get; set; }

        public string bname { get; set; }

        public string file { get; set; }

        public string image_cover { get; set; }

        public int attachment_id { get; set; }
        public int resources_id { get; set; }
        public int type { get; set; }
        public string weigh { get; set; }


    }
    public class ResDelBkModel : ModelBase
    {
        public string code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }
        public string data { get; set; }


    }

    public class ResCallResourceListModel : ModelBase
    {

        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }


        public List<ResCallResourceListItemModel> data { get; set; }
    }
    public class ResCallResourceListItemModel : ModelBase
    {

        public int id { get; set; }
        public string title { get; set; }
        public string class_ids { get; set; }
        public string class_name_text { get; set; }
        public int user_id { get; set; }
        public string attachment_ids { get; set; }
        public int weigh { get; set; }
        public int number { get; set; }

        public int class_sort { get; set; }
        public string cover_image { get; set; }
        public string createtime_text { get; set; }



    }

    public class ResShareResourceListModel : ModelBase
    {

        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }


        public List<ResShareResourceListItemModel> data { get; set; }
    }
    public class ResShareResourceListItemModel : ModelBase
    {

        public int id { get; set; }
        public int school_id { get; set; }
        public int user_id { get; set; }
        public int bclass_id { get; set; }
        public string title { get; set; }
        public string share_type { get; set; }
        public string state { get; set; }
        public string image_cover { get; set; }

        public string description { get; set; }
        public int createtime { get; set; }
        public int updatetime { get; set; }
        public int deletetime { get; set; }
        public int number { get; set; }
        public string nickname { get; set; }
        public string createtime_text { get; set; }
        //public string class_list { get; set; }
        public int count_class { get; set; }
    }

    public class ResCloudclassModel : ModelBase
    {
        public int id { get; set; }
        public string name { get; set; }
        public int num { get; set; }
        public string status { get; set; }
        public int weigh { get; set; }
        public int createtime { get; set; }
        public int updatetime { get; set; }
        public int deletetime { get; set; }
        public string status_text { get; set; }
    }
    public class RescloudrRoomModel : ModelBase
    {
        public int total { get; set; }
        public string per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<RescloudrRoomItemModel> data { get; set; }
    }
    public class RescloudrRoomItemModel : ModelBase
    {
        public int id { get; set; }
        public string name { get; set; }
        public int weigh { get; set; }
        public string image { get; set; }

        public string file { get; set; }
        public string file_path { get; set; }
        public int num { get; set; }
        public string status { get; set; }
        public int createtime { get; set; }
        public int updatetime { get; set; }
        public int deletetime { get; set; }
        public int c_id { get; set; }
        public string status_text { get; set; }

    }

    public class ResBcalssModel : ModelBase
    {

        public int id { get; set; }
        public int bid { get; set; }
        public int user_id { get; set; }
        public string bname { get; set; }
        public string file { get; set; }
        public string image_cover { get; set; }

        public int attachment_id { get; set; }
        public int resources_id { get; set; }
        public string type { get; set; }
        public string weigh { get; set; }

    }

    public class ResStudentList
    {

        public int id { get; set; }
        public string name { get; set; }
        public int grades_id { get; set; }
        public string sex { get; set; }
        public long student_no { get; set; }
        public string status { get; set; }
        public string parent_phone { get; set; }
        public string parent_name { get; set; }
        public int user_id { get; set; }
        public long createtime { get; set; }
        public long updatetime { get; set; }
        public long deletetime { get; set; }
        public int school_id { get; set; }

    }

    public class ResStudentLog
    {

        public int id { get; set; }
        public int student_id { get; set; }
        public string stutus { get; set; }
        public string status { get; set; }
        public int user_id { get; set; }
        public string createtime { get; set; }
        public int grades_id { get; set; }
        public string updatetime { get; set; }
        public string name { get; set; }



    }















    public class Node
    {
        public Node()
        {
            this.NodeId = Guid.NewGuid().ToString();
            this.IsDeleted = false;
            this.Nodes = new List<Node>();
        }

        /// <summary>
        /// 节点ID
        /// </summary>
        public string NodeId { get; set; }

        /// <summary>
        ///  节点名称
        /// </summary>
        public string NodeName { get; set; }

        /// <summary>
        /// 节点携带的内容
        /// </summary>
        public string NodeContent { get; set; }

        /// <summary>
        /// 被删除
        /// </summary>
        public bool IsDeleted { get; set; }

        /// <summary>
        /// 节点类型
        /// </summary>
        public NodeType NodeType { get; set; }

        /// <summary>
        /// 子节点集合
        /// </summary>
        public List<Node> Nodes { get; set; }
    }



    public enum NodeType
    {
        RootNode,//根节点
        LeafNode,//叶子节点
        StructureNode//结构节点，仅起到组织配置文件结构的作用，不参与修改
    }



}
